其他
deepin(深度)社区干货丨轻松搞定Linux网络配置
本文为 deepin(深度)社区用户 Evan_wang 撰写的内容,汇总了各类情况下网络配置的方法和命令,旨在帮助 Linux 用户便捷的完成配置网络,干货满满,值得收藏!
ifconfig
ifconfig 是 Linux 中常用的网络配置工具之一,用于配置和显示网络接口的具体情况。
用 ifconfig 命令配置的网卡信息是临时生效的,在网卡重启后或机器重启后,配置就不存在了; 在一些较新的 Linux 发行版中,ifconfig 命令已经被 IP 命令取代; 可以临时配置 IP 地址,子网掩码,不能配置网关和 DNS(用其他命令配置)。
ifconfig [-a] [-v] [-s] <interface> [[<AF=Address Family.Default:inet>] <address>]
[netmask <address>]
[up | down]
常用情形
ifconfig eth0 up #启动网卡eth0
ifconfig eth0 down #关闭网卡eth0
ifconfig eth0
3.设置网卡的 IP 地址
ifconfig eth0 192.168.3.127 netmask 255.255.255.0
ifconfig eth0 add 192.168.200.200 netmask 255.255.255.0 #这会生成一个eth0:0的虚拟子网卡
ifconfig eth0 del 192.168.200.200 netmask 255.255.255.0
ifconfig eth0 hw ether 10:BA:CB:54:86:B3
IP
IP address
address 可以简写为 a 或 ad 或 add 等。
IP address #查看所有IP地址
IP address show ens33 #查看ens33网卡上的IP地址
IP address add 192.168.100.10/24 device ens33 #向ens33网卡上添加一个临时IP地址
IP address del 192.168.10.10/24 device ens33 #从ens33网卡上删除一个临时IP地址
通过 IP a add 添加的 IP 会在重启主机后失效。
没有修改 IP 地址的命令,若要修改,可以先删除原 IP,再添加新 IP。
IP route
IP route #查看路由
IP route add default via 172.17.0.1 #默认路由(网关)
IP link #查看所有的网络设备
IP link add [link DEVICE] [name] NAME type TYPE #创建虚拟网络设备
nmcli networking #networing可以简写为n,显示Networmanager是否接管网络设置
nmcli n on #开启网络连接
nmcli n off #关闭网络连接
nmcli general status 或者简写为nmcli g #显示网络状态
nmcli g hostname 或nmcli g h #显示主机名
nmcli g hostname newHostName 或nmcli g h newHostName #更改主机名,存放于/etc/hostname文件中,需要重启NetworkManager生效
nmcli connection show 或nmcli c #显示所有网络连接的信息
nmcli c s --active或nmcli c s -a #只显示当前启动的连接
nmcli c s ens33 #显示某一特定连接的详细信息
nmcli c up ens33 #启动指定连接
nmcli c down ens33 #关闭指定连
nmcli c modify ens33 [+ | -] 选项选项值或 nmcli c m [+ | -] 选项选项值。
常用修改示例:
nmcli c m ens33 ipv4.address 192.168.80.10/24 # 修改 IP 地址和子网掩码
nmcli c m ens33 +ipv4.addresses 192.168.80.100/24
nmcli c m ens33 ipv4.method manual # 修改为静态配置,默认是 auto
nmcli c m ens33 ipv4.gateway 192.168.80.2 # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.80.2 # 修改 DNS
nmcli c m ens33 +ipv4.dns 223.5.5.5 # 添加一个 阿里的DNS
nmcli c m ens33 connection.autoconnect yes # 开机启动网卡
注意:
* 必须先修改 ipv4.address,然后才能修改 ipv4.method!
* 用空引号""代替选项的值,可将选项设回默认值!如nmcli c m ens33 ipv4.method ""
nmcli c add type 连接类型 选项 选项值
nmcli c add type ethernet con-name ens36 ifname ens36 #con-name就是会话名称,也可称为网络配置文件名称
nmcli c delete ens33 #删除指定连接
nmcli c reload #重新加载网络配置
nmcli device status 或 nmcli d
2.显示所有设备的详细信息
nmcli d show 或 nmcli d sh
3.显示某一特定设备的详细信息
nmcli d sh ens33
4.连接设备,如果 ens33 处于连接状态,会重启 ens33 网卡
nmcli d connect ens33 或 nmcli d c ens33
5.断开设备
nmcli d disconnect ens33 或 nmcli d d ens33
其它相关命令
查看状态:systemctl status NetworkManager
启动:systemctl start NetworkManager
重启:systemctl restart NetworkManager
关闭:systemctl stop NetworkManager
查看是否开机启动:systemctl is-enabled NetworkManager
开机启动:systemctl enable NetworkManager
禁止开机启动:systemctl disable NetworkManager
无线网络
iw list #获取所有设备
ifconfig wlan0 up #激活网卡
iw dev wlan0 scan #扫描
iw wlan0 connect foo #连接到没有加密的热点foo上
wpa_passphrase test 12345678 >> /etc/wpa_supplicant.conf #配置连接wifi,test为无线SSID,12345678为密码
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf #连接wifi设备
iw wlan0 link #查看连接状态
为wlan0获取ip地址
sudo dhclient wlan0
再次感谢 deepin(深度)社区用户 Evan_wang 的贡献,期待有越来越多的 deepiner 参与到社区建设中,分享经验、畅谈心得,共同提升 Linux 技术能力和使用体验!